Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exposes globalConfig to custom test sequencers #14535

Merged
merged 11 commits into from
Sep 19, 2023
Merged

Exposes globalConfig to custom test sequencers #14535

merged 11 commits into from
Sep 19, 2023

Conversation

Eric-Tyrrell22
Copy link
Contributor

Summary

Adds a way for custom test sequencers to access the global config. This will allow ordering test suites by using the seed which I don't see an easy way to do currently.

Test plan

Added unit tests to check that we can use globalConfig values, namely seed, in a customTestSequencer.
yarn jest e2e/__tests__/customTestSequencers.test.ts

@linux-foundation-easycla
Copy link

linux-foundation-easycla bot commented Sep 16, 2023

CLA Signed

The committers listed above are authorized under a signed CLA.

@netlify
Copy link

netlify bot commented Sep 16, 2023

Deploy Preview for jestjs ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 8b6c899
🔍 Latest deploy log https://app.netlify.com/sites/jestjs/deploys/65093a255d463700085fbc6c
😎 Deploy Preview https://deploy-preview-14535--jestjs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you add a changelog entry as well? 🙂

packages/jest-core/src/runJest.ts Outdated Show resolved Hide resolved
Comment on lines 60 to 63
sequencer = new TestSequencer({
contexts: [],
globalConfig: {} as Config.GlobalConfig,
});
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is ideal, but since the Jest TestSequencer doesn't use either contexts, or globalConfig, it should be fine to have stand ins here, for now.

Alternatively we could make TestSequencerOptions optional, or even properly create contexts and globalConfig in the beforeEach.

lmk what you think.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in this test you can use

export const makeGlobalConfig = (

But it might need to be optional so it's not a breaking change (i.e. a newer version of @jest/test-scheduler than the version of @jest/core). However, I think the next release of Jest will be a major, in which case we don't need it to be optional.

CHANGELOG.md Outdated Show resolved Hide resolved
Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@SimenB SimenB merged commit 76a47d8 into jestjs:main Sep 19, 2023
89 checks passed
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 20, 2023
@SimenB
Copy link
Member

SimenB commented Oct 30, 2023

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants